package com.bt.att.dao;

import com.bt.att.model.*;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * .
 *
 * @author Zakir Magdum
 */
public interface PhoneDao {
    void save(Phone phone);
    void save (Call phone);
    void save (Message message);

    Phone getPhone(String number);
    List<Phone> getFamilyPhones();
    List<Phone> getAllPhones();

    List<Call> getCalls(String number, Date from, Date to);
    List<Message> getMessages(String number, Date from, Date to);
    List<Call> getAllCalls();
    List<Message> getAllMessages();

    List<Call> getCalls(String fromNumber, String toNumber, Date from, Date to);
    List<Message> getMessages(String fromNumber, String toNumber, Date from, Date to);

    List<Call> getCalls(String fromNumber, int hour, Date from, Date to);
    List<Message> getMessages(String fromNumber, int hour, Date from, Date to);

    void deleteCalls(String number, Date from, Date to);
    void deleteMessages(String number, Date from, Date to);

    void deletePhone(String number);

    Call getCallById(String id);
    Message getMessageById(String id);

    List<ChartPoint> getChartData(ChartType type, String fromNumber, Date from, Date to);

}
